The general framework of modern commercial TTS systems is shown in FIG. 1.
An input text—for example “Hello World”—is transformed into a linguistic description using linguistic resources in the form of lexica, rules and n-grams. The text normalisation step converts special characters, numbers, abbreviations, etc. into full words. For example, the text “123” is converted into “hundred and twenty three”, or “one two three”, depending on the application. Next, linguistic analysis is performed to convert the orthographic form of the words into a phoneme sequence. For example, “hello” is converted to “h@-loU”, using the Sampa phonetic alphabet. Further linguistic rules enable the TTS program to assign intonation markers and rhythmic structure to the sequence of words or phonemes in a sentence. The end product of the linguistic analysis is a linguistic description of the text to be spoken. The linguistic description is the input to the speech generation module of a TTS system.
The speech generation module of most commercial TTS systems relies on a database of recorded speech. The speech recordings in the database are organised as a sequence of waveform units. The waveform units can correspond to half phonemes, phonemes, diphones, triphones, or speech fragments of variable length [e.g. Breen A. P. and Jackson P., “A phonologically motivated method of selecting non-uniform units,” ICSLP-98, pp. 2735-2738, 1998]. The units are annotated with properties that refer to the linguistic description of the recorded sentences in the database. For example, when the waveform units correspond to phonemes, the unit properties can be: the phoneme identity, the identity of the preceding and following phonemes, the position of the unit with respect to the syllable it occurs in, similarly the position of the unit with respect to the word, phrase, and sentence it occurs in, intonation markers associated with the unit, and others.
Unit properties that do not directly refer to phoneme identities are often called prosodic properties, or simply prosody. Prosodic properties characterise why units with the same phoneme identity may sound different. Lexical stress, for example, is a prosodic property that might explain why a certain unit sounds louder than another unit representing the same phoneme. High level prosodic properties refer to linguistic descriptions such as intonation markers and phrase structure. Low level prosodic properties refer to acoustic parameters such as duration, energy, and the fundamental frequency F0 of the speaker's voice. Speakers modulate their fundamental frequency, for example to accentuate a certain word (i.e. pitch accent). Pitch is the psycho-acoustic correlate of F0 and is often used interchangeably for F0 in the TTS literature.
The waveform corresponding to a unit can also be considered as a unit property. In some TTS systems, a low-dimensional spectral representation is derived from the speech waveform, for example in the form of Mel Frequency Cepstral Coefficients (MFCC). The spectral features contain information both about the phonetic and prosodic properties of a unit.
As was mentioned above, TTS programs use linguistic rules to convert an input text into a linguistic description. The linguistic description contains phoneme symbols as well as high level prosodic symbols such as intonation markers and phrase structure boundaries. This linguistic description must be further rewritten in terms of the units used by the speech database. For example, if the linguistic description is a sequence of phonemes and boundary symbols and the database units are phonemes, the boundary symbols need be converted into properties of the phoneme-sized units. In FIG. 1 the linguistic description of the text is “h@-loU|w3rld #” and the target unit sequence is {h, @(bnd:−), l, oU(bnd:|), w, 3, r, l, d(bnd:#)}.
Based on the high level prosodic parameters in the linguistic description, a target pitch contour and target phoneme durations can also be predicted. Techniques for low level prosodic prediction have been well studied in earlier speech synthesis systems based on prosodic modification of diphones from a small database. Among the methods used are classification and regression trees (CART), neural networks, linear superposition models, and sums of products models. In unit selection the predicted pitch and durations can be included in the properties of the target units.
The speech generation module searches the database of speech units with annotated properties in order to match a sequence of target units with a sequence of database units. The sequence of selected database units is converted to a single speech waveform by a unit concatenation module.
In a trivial case, the sequence of target units can be found directly in the speech database. This happens when the text to be synthesised is identical to the text of one of the recorded sentences in the database. The unit selection module then retrieves the recorded sentence unit per unit. The unit concatenation module joins the waveform units again to reproduce the sentence.
In a non-trivial case, the target units correspond to an unseen text, i.e. a text for which there is no integral recording in the database. To convert an unseen text into a spoken message, the unit selector searches for database units that approximate the target units. Depending on the unit properties that are taken into consideration, the database may not contain a perfect match for each target unit. The unit selector then uses a cost function to estimate the suitability of unit candidates with more or less similar properties as the target unit. The cost function expresses mismatches between unit properties in mathematical quantities, which can be combined into a total mismatch cost. Each candidate unit therefore has a corresponding target cost. The lower the target cost, the more suitable a candidate unit is to represent the target unit.
After the unit selector has identified suitable candidates for a target unit, a join cost or concatenation cost is applied to find the unit sequence that will form a smooth utterance. For example, the concatenation cost is high if the pitch of two units to be concatenated is very different, since this would result in a “glitch” when joining these units. Like the target cost, the concatenation cost can be based on a variety of unit properties, such as information about the phonetic context and high and low level prosodic parameters.
The interaction between the target costs and the concatenation costs is shown in FIG. 2. For each target unit, there is a set of candidate units with corresponding target costs. The target costs are illustrated for the units in the first two columns in FIG. 2 by a number inside the square representing the unit. Between each pair of units in adjacent columns there is a concatenation cost, illustrated for two unit pairs in FIG. 2 using a connecting arrow and a number above the arrow. Because of the concatenation costs, the optimal units are not just the units with the lowest target costs. The optimal unit sequence minimises the sum of target costs and concatenation costs, as shown by the full arrows in FIG. 2. The optimal path can be found efficiently using a dynamic search algorithm, for example the commonly used Viterbi algorithm.
The result of the unit selection step is a single sequence of selected units. After this final sequence of units has been selected, a concatenator is used to join the waveform units of the sequence of selected units into a smooth utterance. Some TTS systems employ “raw” concatenation, where the waveform units are simply played directly after each other. However this introduces sudden changes in the signal which are perceived by listeners as clicks or glitches. Therefore the waveform units can be concatenated more smoothly by looking for an optimal concatenation point, or applying cross-fading or spectral smoothing.
The basic unit selection framework is described in Sagisaka Y., “Speech synthesis by rule using an optimal selection of non-uniform synthesis units,” ICASSP-88 New York vol. 1 pp. 679-682, IEEE, April 1988; Hunt A. J. and Black A. W., “Unit selection in a concatenative speech synthesis system using a large speech database”, ICASSP-96, pp. 373-376, 1996; and others. Refinements of the unit selection framework have been described among others in U.S. Pat. No. 6,665,641 B1 (Coorman et al), WO02/097794 A1 (Taylor et al), WO2004/070701 A2 (Phillips et al), and U.S. Pat. No. 5,913,193 (Huang et al).
The perceptual quality of messages generated by unit selection depends on a variety of factors. First, the database must be recorded in a noisefree environment and the voice of the speaker must be pleasant. The segmentation of the database into waveform units as well as the annotated unit properties must be accurate. Second, the linguistic analysis of an input text must be correct and must produce a meaningful linguistic description and set of target units. Third, the target and concatenation cost functions must be perceptually relevant, so that the optimal path is not only the best result in a quantitative way (i.e. the lowest sum of target and concatenation costs) but also in a qualitative way (i.e. subjectively the most preferred).
An essential difficulty in speech synthesis is the underspecification of information in the input text compared to the information in the output waveform. Speakers can vary their voice in a multitude of ways, while still pronouncing the same text. Consider the sentence “Bears like honey”. In a story about bears, the narrator may emphasise the word “honey”, since this word contains more new information than the word bears. In a story about honey, on the other hand, it may be more appropriate to emphasise the word “bears”. Even when the emphasis is fixed on one word, for example “honey”, there are still many ways to say the sentence. For example, a speaker could lower her pitch and use a whispering voice to say “honey”, indicating suspense and anticipation. Or the speaker could raise her pitch and increase loudness to indicate excitement.
The fact that spoken words contain more information than written words poses challenges for unit selection based TTS systems. A first challenge is that voice quality and speaking style changes are hard to detect automatically, so that unit databases are rarely annotated with them. Consequently, unit selection can produce spoken messages with inflections or nuances that are not optimal for a certain application or context. A second challenge is that it is difficult to predict the desired voice quality or speaking style from a text input, so that a unit selection system would not know which inflection to prefer, even if the unit database were appropriately annotated. A third challenge is that the annotation of voice quality and speaking style in the database increases sparseness in the space of available units. The more unit properties are annotated, the less likely it becomes that a unit with a given combination of properties can actually be found in a database of a given size.
Research in unit selection continually aims to improve the default or baseline quality of TTS output. At the same time, there is a need to improve specific utterances (prompts) for a current system. This can be achieved through manual interaction with the unit selection process. Existing techniques to improve unit selection output can be divided in three categories. First, a human operator can interact with the speech database, in order to improve the segmentation and annotation of unit properties. Second, the operator can change the linguistic description of an input text, in order to improve the accuracy of the target units. Third, the operator can edit the target and concatenation cost functions. These techniques are now discussed in more detail.
Improving the Unit Database
The unit database provides the source material for unit selection. The quality of TTS output is highly dependent on the quality of the unit database. If listeners dislike the timbre or the speaking style of the recording artist, the TTS output can hardly overcome this. The recordings then need to be segmented into units. A start time point and end time point for each unit must be obtained. As unit databases can contain several hours of recorded speech, corresponding to thousands of sentences, alignment of phonemes with recorded speech is usually obtained using speech recognition software. While the quality of automatic alignments can be high, misalignments frequently occur in practice, for example if a word was not well-articulated or if the speech recognition software is biased for certain phonemes. Misalignments result in disturbing artefacts during speech synthesis since units are selected that contain different sounds than predicted by their phoneme label.
After segmentation, the units must be annotated with high level prosodic properties such as lexical stress, position of the unit in the syllable structure, distance from the beginning or end of the sentence, etc. Low level prosodic properties such as F0, duration, or average energy in the unit can also be included. The accuracy of the high level properties depends on the linguistic analysis of the recorded sentences. Even if the sentences are read from text (as opposed to recordings of spontaneous speech), the linguistic analysis may not match the spoken form, for example when the speaker introduces extra pauses where no comma was written, speaks in a more excited or more monotonous way, etc. The accuracy of the low level prosodic properties on the other hand depends on the accuracy of the unit segmentation and the F0 estimation algorithm (pitch tracker).
Since the amount of database units is very large, the time needed to check all segmentations and annotations by hand may be prohibitive. A human operator however can modify the segmentation or unit properties for a small set of units in order to improve the unit selection result for a given speech prompt.
Improving the Target Units
TTS systems rely on linguistic resources such as dictionaries and rules to predict the linguistic description of an input text. Mistakes can be made if a word is unknown. The pronunciation then has to be guessed from the orthography, which is quite difficult for a language such as English, and less difficult for other languages such as Spanish or Dutch. Not only the pronunciation has to be predicted correctly, but also the intonation markers and phrase structure of the sentence. Take the example of a simple navigation sentence “Turn right onto the A1”. To be meaningful to a driver, the sentence might be spoken like this: “Turn <short break> <emphasis> right <break> onto the <short break> <emphasis> A <emphasis> 1”. On the other hand, if the driver already knew that she was looking for the A1, no emphasis may be needed on the road name, but only on the direction of the turn: “Turn <short break> <emphasis> right <break> onto the A1”.
It is clear that linguistic rules will not always be successful at predicting the optimal linguistic description of an input text. Controllability of TTS can be improved by enabling operators to edit the linguistic description prior to unit selection. Users can correct the phonetic transcription of a word, or specify a new transcription. Users can also add tags or markers to indicate emphasis and phrase structure. Specification of phonetic transcriptions and high level prosodic markers can be done using a standardized TTS markup language, such as the Speech Synthesis Markup Language (SSML) [http://www.w3.org/TR/speech-synthesis/].
Low level prosodic properties can be manually edited as well. For example operators can specify target values for F0, duration, and energy US2003/0229494 A1 (Rutten et al).
Improving the Unit Selection Cost Functions
In the unit selection framework, candidate units are compared to the target units using a target cost function. The target cost function associates a cost to mismatches between the annotated properties of a target unit and the properties of the candidates. To calculate the target cost, property mismatches must be quantified. For symbolic unit properties, such as the phoneme identity of the unit, different quantisation approaches can be used. A simple quantification scheme is binary, i.e. the property mismatch is 0 when there is no mismatch and 1 otherwise. More sophisticated approaches use a distance table, which allows a bigger penalty for certain kinds of mismatches than for others.
For numeric unit properties, such as the F0 or the duration of a unit, mismatch can be expressed using a variety of mathematical functions. A simple distance measure is the absolute difference |A−B| between the property values of the target and candidate unit. More sophisticated measures apply a mathematical transformation of the absolute difference. The log( ) transformation emphasises small differences and attenuates large differences, while the exponential transformation does the opposite. The difference (A−B) can also be mapped using a function with a flat bottom and steep slopes, which ignores small differences up to a certain threshold U.S. Pat. No. 6,665,641 B1 (Coorman et al).
The quantified property mismatches or subcosts are combined into a total cost. The target cost may be defined as a weighted sum of the subcosts, where the weights describe the contribution of each type of mismatch to the total cost. Assuming that all subcosts have more or less the same range, the weights reflect the relative importance of certain mismatches compared to others. It is also possible to combine the subcosts in a non-linear way, for example if there is a known interaction between certain types of mismatch.
Like the target cost, the concatenation cost is based on a combination of property mismatches. The concatenation cost focuses on the aspects of units that allow for smooth concatenation, while the target cost expresses the suitability of individual candidate units to represent a given target unit.
An operator can modify the unit selection cost functions to improve the TTS output for a given prompt. For example, the operator can put a higher weight on smoothness and reduce the weight for target mismatch. Alternatively, the operator can increase the weight for a specific target property, such as the weight for a high level emphasis marker or a low level target F0.
US2003/0229494 A1 (Rutten et al) describes solutions to improve unit selection by modifying unit selection cost functions and low level prosodic target properties. The operator can remove phonetic units from the stream of automatically selected phonetic units. The one or more removed phonetic units are precluded from reselection. The operator can also edit parameters of a target cost function such as a pitch or duration function. However, modification of these aspects requires expertise about the unit selection process and is time consuming. One reason why the improvement is time consuming is the iterative step of human interaction and automatic processing. When deciding to remove or prune certain units or to adjust the cost function, operators must repeat the cycle including the steps of:                generating a single speech waveform by a unit selection process with cost optimisation,        listening to the single speech waveform,        if the operator is not satisfied,                    modifying (rejecting) units, modifying target low-level prosodic properties, or            modifying costs and starting a new automatic generating step,                        if the operator is satisfied,                    keeping the actual speech waveform.                        
After each modifying step a single speech waveform has to be generated by searching in the unit database all possible units matching the target units and by doing all cost calculations. The new speech waveform can be very similar to a speech waveform created before. To find a pleasant waveform an expert may try out several modifications, each modification requiring a full unit selection process.
A more efficient solution should enable an unskilled operator to create very good prompts with minimal evaluation and modification effort.